Conditional Types
TypeScript v2.8
T extends U ? X : Yという構文
型定義の右辺に現れるextendsの話
TがUの部分型 (subtype)ならばX、そうでなければY
左辺に現れるextendsはConditional Typesではないことに注意するmrsekut.icon
それはTypeScriptのGenericsの型制約
ref TypeScriptのあるある部分型の型制約と条件分岐
Conditional Typesを末尾再帰で書く
PR
関連
Distributive Conditional Types
Tがunion型の時、分配して評価される
Deferred Conditional Types
Type inference in conditional types
infer Rのこと
#WIP
X, Yの部分は遅延評価される
X, Yの部分が、T, Uに依存している場合は、
T, Uが決定された後に、評価される
これって遅延評価って言うの #??
短絡評価というか、単純に先 ? 後 : 後の順で評価されるってだけでしょ?
遅延評価の定義をちゃんと知らないけど、「遅延評価だから~」というのを知らなくても直感的にわかるmrsekut.icon
型の世界での「遅延評価」を知らないから、「???」ってなってる気がするmrsekut.icon
https://qiita.com/Quramy/items/b45711789605ef9f96de#conditional-types
https://qiita.com/uhyo/items/e2fdef2d3236b9bfe74a#conditional-typeによるdeepreadonlyt
Conditional Typesで複数条件を1回で書く
conditional typesの応用例集
https://blog.mariusschulz.com/2019/01/09/typescript-2-8-conditional-types